Conversation
- 로그아웃시 refresh-token Redis에 블랙리스트로 보관
There was a problem hiding this comment.
Pull Request Overview
This PR merges development changes into main, introducing FAQ APIs, enhancing subscription and billing flows, adding logout functionality with token blacklisting, and updating CI environment variables.
- Add repository, service, facade, and controller layers for boss and staff FAQ retrieval.
- Refactor subscription retrieval to use Optional and return a null-based DTO when no subscription exists.
- Implement logout logic with Redis-based token blacklist and adjust billing/card DTO to return empty data when missing.
- Extend CI workflow with Sentry and clock-in cron environment variables.
Reviewed Changes
Copilot reviewed 61 out of 61 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| batch/src/main/java/com/mangoboss/batch/auto_clock_out/domain/service/AutoClockOutService.java | Update package and imports for auto clock-out service |
| app/src/main/java/com/mangoboss/app/infra/persistence/SubscriptionRepositoryImpl.java | Change findByBossId to return Optional |
| app/src/main/java/com/mangoboss/app/infra/persistence/FaqRepositoryImpl.java | Add FAQ repository implementation |
| app/src/main/java/com/mangoboss/app/dto/faq/FaqResponse.java | Add record-based DTO for FAQ responses |
| app/src/main/java/com/mangoboss/app/domain/service/subscription/SubscriptionService.java | Refactor subscription retrieval and null fallback logic |
| app/src/main/java/com/mangoboss/app/domain/service/faq/FaqService.java | Add service to fetch FAQs by category |
| app/src/main/java/com/mangoboss/app/domain/service/billing/BillingService.java | Modify billing info logic to return empty DTO when card data is missing |
| app/src/main/java/com/mangoboss/app/domain/service/auth/AuthService.java | Implement logout/blacklist with Redis |
| app/src/main/java/com/mangoboss/app/domain/repository/SubscriptionRepository.java | Update interface to return Optional |
| app/src/main/java/com/mangoboss/app/domain/repository/FaqRepository.java | Add FAQ repository interface |
| app/src/main/java/com/mangoboss/app/common/util/JwtUtil.java | Add method to calculate remaining refresh token expiration |
| app/src/main/java/com/mangoboss/app/common/exception/CustomErrorInfo.java | Add errors for invalid refresh token and FAQ not found |
| app/src/main/java/com/mangoboss/app/api/facade/subscription/SubscriptionFacade.java | Handle null subscription by returning empty response DTO |
| app/src/main/java/com/mangoboss/app/api/facade/faq/StaffFaqFacade.java | Map staff FAQ entities to DTOs |
| app/src/main/java/com/mangoboss/app/api/facade/faq/BossFaqFacade.java | Map boss FAQ entities to DTOs |
| app/src/main/java/com/mangoboss/app/api/facade/auth/AuthFacade.java | Add blacklist validation and logout facade methods |
| app/src/main/java/com/mangoboss/app/api/controller/faq/StaffFaqController.java | Add REST endpoint for staff FAQs |
| app/src/main/java/com/mangoboss/app/api/controller/faq/BossFaqController.java | Add REST endpoint for boss FAQs |
| app/src/main/java/com/mangoboss/app/api/controller/auth/AuthController.java | Consolidate imports and add logout endpoint |
| .github/workflows/cd-dev.yml | Add Sentry DSN/auth and clock-in cron vars to CI env setup |
Comments suppressed due to low confidence (2)
app/src/main/java/com/mangoboss/app/domain/service/subscription/SubscriptionService.java:34
- Returning
nullhere forces callers to handle null checks; consider returningOptional<SubscriptionEntity>from the service to make absence explicit in the API.
return subscriptionRepository.findByBossId(bossId).orElse(null);
app/src/main/java/com/mangoboss/app/domain/service/billing/BillingService.java:79
- This single branch now treats missing billing and missing card data identically; consider distinguishing
billing == null(not found) from missing card info to preserve error semantics or return anOptionalresponse.
if (billing == null || billing.getBillingKey() == null || billing.getCardData() == null) {
app/src/main/java/com/mangoboss/app/domain/service/auth/AuthService.java
Show resolved
Hide resolved
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
연관 이슈
PR 타입(하나 이상의 PR 타입을 선택해주세요)
작업 내용
리뷰 요구사항 (선택)